home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lantools / lantas10 / readme.1st < prev   
Text File  |  1992-01-15  |  6KB  |  169 lines

  1. ---------------------------------------------------------------------
  2. NETBIOS LANOS NETBIOS LANOS NETBIOS LANOS NETBIOS LANOS NETBIOS LANOS
  3. ---------------------------------------------------------------------
  4.  
  5. Date : 01-04-1992 Time : 05:00pm
  6.  
  7. This is the DOC-file for the LANOS-Unit and the NCB-Unit (Version 1.0). 
  8. It's a short documentation because I had no time to write a whole manual.
  9.  
  10. All the units are written in Borlands Turbo-Pascal 6.0 !!!
  11.  
  12. What does LANOS do ?
  13. ====================
  14.  
  15. LANOS includes all the standard MS-DOS compatible network-functions such
  16. as REDIRECT A DEVICE, GET REDIRECTED DEVICE, etc. 
  17.  
  18. But this is not all !
  19.  
  20. The other part is LANTASTIC specific. I have implemented all these functions,
  21. which you find in LANTASTIC NOS (up to version 4.0).
  22.  
  23. What you must know:
  24.  
  25. Each  NOS call  returns  an error status. This error  status is updated after 
  26. each call in the global variable NOSErrNo. You can then get the error message 
  27. by using the
  28.  
  29.     function NOSGetErrorText(tWord : Word).
  30.  
  31. But it's not necessary ! I did the job for you. There is a global variable 
  32. called NOS_Message (type string) which contains the error message when the
  33. carry-flag was set after calling NOS.
  34.  
  35. In the interface part you can see that  each call is a PROCEDURE and not a 
  36. FUNCTION. So very often you have calls by reference and not calls by value. 
  37. That's because some of the NOS-calls return or update values by themselves
  38. (e.g. incrementing index in BX register).
  39.  
  40. ------------------------------------------------------------------------------
  41.  
  42. What does NCB do ?
  43. ==================
  44.  
  45. NCB is a unit for supporting the NETBIOS-Interface using the INT 5Ch. 
  46. NETBIOS is a great interface if you know how to handle it. In the interface
  47. part you can see the structure of a network control block (NCB). 
  48.  
  49. It's the key to everything !
  50.  
  51. I implemented the basic functions you need to communicate using the NETBIOS.
  52.  
  53. How to establish a NETBIOS-Session:
  54.  
  55.   1. ADD_NAME     
  56.  
  57.      Add your (local) and the remote-name to the network.
  58.      remote-name (NCB_callname) can accept wildcards.
  59.  
  60.      e.g. NCB_Result := NCB_ADD_NAME(Send_NCB,'LOCAL','*');
  61.  
  62.      that is important when building a multiuser-session or
  63.      things like this. (see line 24/26 in NCBTEST.PAS)
  64.  
  65.   2. RECV_DATAGRAM or RECV_BCST_DATAGRAM (when you receive a datagram)
  66.      SEND_DATAGRAM or SEND_BCST_DATAGRAM (when you send    a datagram)
  67.      
  68.      You do this as shown in line 48 in NCBTEST.PAS. The function will wait
  69.      until a datagram is received or a timeout occurs. 
  70.      
  71.      What is a DATAGRAM ? It is a part of your computer's memory.
  72.      You can transfer everything. In the DEMO-program I'm transfering a
  73.      string (includes also the length of the string ; first byte).
  74.      
  75.      But, as an example, you may also transfer a record. What you must do is
  76.      get the records segment and offset. Length will be determined by the
  77.      following statement:
  78.      
  79.           SizeOf(record);
  80.      
  81.    3. HANG_UP
  82.    
  83.       I'm not certain if this is necessary because I have found many different 
  84.       examples during my research.
  85.       
  86.       But I used it on line 62 in the DEMO-program.
  87.       
  88.    4. DELETE_NAME
  89.    
  90.       Closes the network-session and releases the allocated network-names.
  91.       
  92.  ---------------------------------------------------------------------------
  93.      
  94.       The function NCB_EXECUTE is used to execute any NETBIOS call. You
  95.       must tell the function which command you want to execute.
  96.       
  97.       (NCBWAIT variable has no effect in this function ! Add 80h to
  98.        the command for ASYNC mode)
  99.  
  100.  
  101.       WARNING !!! WARNING !!
  102.       
  103.       I have declared a global variable NCBWAIT (type boolean; def: TRUE).
  104.       When this variable is set to FALSE then the NCB_Command is incremented 
  105.       by 80h before each call. That means ASYNC-Mode !
  106.       
  107.       Exception: NCB_EXECUTE(Command : Word; VAR tNCB);
  108.       
  109.       Therefore the called NETBIOS-function does not wait until a datagram is 
  110.       received ! It's up to you to loop until there is something useful.
  111.       
  112.       But when a datagram is received, NETBIOS will call an interrupt which
  113.       you must define by calling the function.
  114.       
  115.       NCB_RECV_DATAGRAM(VAR tNCB : _NCB;BUFSeg,BUFOfs,BUFLen : Word;UsrProc : Pointer)
  116.                                                                      |
  117.                                      address of user-procedure ------+     
  118.                             
  119.       Make sure that the address points to a useful procedure when working
  120.       in ASYNC mode (NCBWAIT is FALSE) otherwise the system hangs up !!!!
  121.       
  122.  
  123.  
  124. How you can reach me:
  125. =====================
  126.  
  127.  
  128.   There are two EMAIL-addresses where you can reach me:
  129.   (thats in EUROPE)
  130.    
  131.   +--------------------------------------------+
  132.   | CompuServe ID : 100016,732                 |
  133.   | X.400         : CZ8OR@ZCVX00.ascom.ch      |
  134.   +--------------------------------------------+  
  135.   
  136.   I normally check these mailboxes frequently.
  137.  
  138.  
  139.   Private address :
  140.   
  141.   Name     : Oliver Rehmann
  142.   Street   : Dorfhalde 7
  143.   
  144.   ZIP/City : 8712 Staefa
  145.  
  146.              SWITZERLAND
  147.   
  148. COMMENT
  149. =======
  150.  
  151. I have decided to give LANOS and NCB  as public domain to the rest of the 
  152. world.  There  is therefore  no need to register it. Nevertheless I'll be 
  153. happy about any appreciation. Everyone who likes the programs and wants to 
  154. reward the  work and time spent  to develop  the programs can do this by 
  155. sending  a modest  contribution. To those  of you sending $ 40 (includes
  156. shipping by air) in cash or by check and provide me with their mail-address,
  157. together  with the type of disk and current version  in use, I will send
  158. the latest version, including the source-code of the units.     
  159.  
  160. Of course, there are no limits of appreciation :-) But I'll be happy also 
  161. about any smaller  appreciation  and I think that  this could advance the 
  162. development of this software.
  163.  
  164. The units are public domain and you may provide a copy to your friends, as 
  165. long as the whole  package  is in its original form and the program leaves 
  166. unchanged. 
  167.  
  168.  
  169.